package sitesettinghandler

import (
	"github.com/gin-gonic/gin"
	"time"
	"yundian/internel/app/dao"
	"yundian/internel/app/helper/request"
	"yundian/internel/app/models/banner"
	"yundian/internel/pkg/dingo"
	. "yundian/internel/pkg/dingo/result"
)

//广告列表
func GetBannerList(c *gin.Context) {

	// 请求参数处理
	param := &request.BannerListReq{}
	dingo.ErrorIf(c.ShouldBindQuery(param)).Unwrap()

	// 查询结果
	data := dao.NewSiteSettingDao().GetBannerList(param)
	// 分页信息
	Response(c)("", CodeSuccess, ResponseList{
		PageNo:     param.PageNo,
		PageSize:   param.PageSize,
		TotalCount: data.Val().(int64),
		TotalPage:  0,
		Data:       data.Unwrap(),
	})(OK)
}

//广告修改
func BannerUpdate(c *gin.Context) {
	param := &banner.BannerModel{}
	dingo.ErrorIf(c.Bind(&param)).Unwrap()
	Response(c)("", CodeUpdateSuccess, dao.NewSiteSettingDao().BannerUpdate(param))(OK)
}

//广告新增
func BannerInsert(c *gin.Context) {
	param := &banner.BannerModel{}
	dingo.ErrorIf(c.Bind(param)).Unwrap()

	param.CreateAt = dingo.Time(time.Now().Unix())
	Response(c)("新增成功", CodeUpdateSuccess, dao.NewSiteSettingDao().BannerInsert(param).Unwrap())(OK)
}

//广告删除
func BannerDelete(c *gin.Context) {
	param := &struct {
		Id int `json:"id"`
	}{}
	dingo.ErrorIf(c.Bind(param)).Unwrap()
	Response(c)("删除成功", CodeUpdateSuccess, dao.NewSiteSettingDao().BannerDelete(param.Id).Unwrap())(OK)
}

//上传图片
//func BannerImgUpload(c *gin.Context) {
//	file, err := c.FormFile("file")
//
//	if err != nil {
//		Response(c)("上传失败!请上传文件", CodeError, nil)(Error)
//		return
//	}
//
//	imgType := []string{"image/bmp", "image/png", "image/gif", "image/jpg", "image/jpeg", "image/pjpeg", "image/x-png"}
//	fileExt := strings.ToLower(path.Ext(file.Filename))
//	// 判断 文件类型
//	if !utils.Contains(imgType, file.Header.Get("Content-Type")) {
//		Response(c)("上传失败!文件类型错误", CodeError, nil)(Error)
//	}
//	// 判断 文件后缀
//	if fileExt != ".png" && fileExt != ".jpg" && fileExt != ".gif" && fileExt != ".jpeg" {
//		Response(c)("上传失败!只允许png,jpg,gif,jpeg文件", CodeError, nil)(Error)
//	}
//	// 判断 文件大小 1024*1024*10
//	if file.Size > 10485760 {
//		Response(c)("上传失败!只允许小于10M的文件", CodeError, nil)(Error)
//		return
//	}
//	fileName := utils.Str2Md5(fmt.Sprintf("%s%s", file.Filename, time.Now().String()))
//	//拼接后缀
//	fileName += fileExt
//	fileDir := fmt.Sprintf("%s/", helper.BannerImgPath)
//	filePath := fmt.Sprintf("%s%s", fileDir, fileName)
//
//	// 判断文件路径是否存在
//	ok, err := utils.PathExists(fileDir)
//	dingo.ErrorIf(err).Unwrap()
//	if !ok {
//		dingo.ErrorIf(os.MkdirAll(fileDir, os.ModePerm)).Unwrap()
//	}
//
//	// 保存文件
//	dingo.ErrorIf(c.SaveUploadedFile(file, filePath)).Unwrap()
//
//	//响应给前端
//	Response(c)("", CodeSuccess, utils.Join(helper.BannerImgURL, fileName))(OK)
//
//}
